#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<stdint.h>
#include "main.h"

int main()
{
    linklist H;
    H=listinit();
    data_t value; 
    while(1)
    {
       printf("please put value:>");
       scanf("%d",&value);
       if(value==-1)
         break;
       list_add(H,value);
    } 
    listshow(H);
}

linklist listinit()
{
    //创建动态空间
    linklist H;
    H=(linklist)malloc(sizeof(listnode));
    if(H==NULL)
    {
        printf("Init failed\n");
        return H;
    }
    //赋值
    H->data=0;
    H->next=NULL;
    printf("init success\n");
    return H;
}

int list_add(linklist H,data_t value)
{
    if(value==-1)
       return 0;
    //创建新节点
    linklist p;
    if((p=(linklist)malloc(sizeof(listnode)))==NULL)
    {
        return -1;
    }
    p->data=value;
    p->next=NULL;
    //找位置插入之找位置
    linklist q;
    q=H;
    while(q->next!=NULL)
    {
        q=q->next;
    }
    //找位置插入之插入
    q->next=p;
return 0;
}

int listshow(linklist H)
{
    printf("This list is\t");
    while(H->next!=NULL)
    {
        printf("%d ",H->next->data);
        H=H->next;
    }
    return 0;
}